package cn.csc.module.distribute.convert.withdraw;

import cn.csc.framework.common.pojo.PageResult;
import cn.csc.module.distribute.controller.admin.withdraw.vo.DistributeWithdrawCreateReqVO;
import cn.csc.module.distribute.controller.admin.withdraw.vo.DistributeWithdrawExcelVO;
import cn.csc.module.distribute.controller.admin.withdraw.vo.DistributeWithdrawRespVO;
import cn.csc.module.distribute.controller.admin.withdraw.vo.DistributeWithdrawUpdateReqVO;
import cn.csc.module.distribute.controller.app.withdraw.vo.AppDistributeWithdrawReqVO;
import cn.csc.module.distribute.controller.app.withdraw.vo.AppDistributeWithdrawRespVO;
import cn.csc.module.distribute.dal.dataobject.withdraw.DistributeWithdrawDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * 提现记录 Convert
 *
 * @author liuchuang
 */
@Mapper
public interface DistributeWithdrawConvert {

    DistributeWithdrawConvert INSTANCE = Mappers.getMapper(DistributeWithdrawConvert.class);

    DistributeWithdrawDO convert(DistributeWithdrawCreateReqVO bean);

    DistributeWithdrawDO convert(AppDistributeWithdrawReqVO bean);

    DistributeWithdrawDO convert(DistributeWithdrawUpdateReqVO bean);

    DistributeWithdrawRespVO convert(DistributeWithdrawDO bean);

    List<DistributeWithdrawRespVO> convertList(List<DistributeWithdrawDO> list);

    PageResult<DistributeWithdrawRespVO> convertPage(PageResult<DistributeWithdrawDO> page);

    PageResult<AppDistributeWithdrawRespVO> convertPage1(PageResult<DistributeWithdrawDO> page);

    List<DistributeWithdrawExcelVO> convertList02(List<DistributeWithdrawDO> list);

}
